Reject linked dylib EII default overrides#156370
Conversation
|
r? @mejrs rustbot has assigned @mejrs. Use Why was this reviewer chosen?The reviewer was selected based on:
|
|
cc @bjorn3 |
|
r? @jdonszelmann (or @bjorn3 perhaps) |
|
|
|
Thinking about this a bit more, I'm wondering if maybe |
Nice catch @bjorn3
right? seems like the next best move |
dfc410a to
44e8bb8
Compare
|
@bjorn3 I'm done with the split, what do you think? |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
5af5be7 to
b41cef3
Compare
|
@bjorn3 that approach seems reasonable to me |
3827ccb to
621745e
Compare
This comment has been minimized.
This comment has been minimized.
|
Reminder, once the PR becomes ready for a review, use |
|
@rustbot ready |
This comment has been minimized.
This comment has been minimized.
48d4bf3 to
3378897
Compare
|
Thanks! @bors r+ |
…e, r=bjorn3 Reject linked dylib EII default overrides This PR rejects explicit EII implementations that would override a default implementation already selected through a linked dylib. The check is intentionally split: - rustc_passes keeps the early, format-independent checks for missing impls and duplicate explicit impls. - rustc_codegen_ssa checks the default-vs-explicit conflict during linking, using the dependency formats selected for the final artifact. Fixes rust-lang#156320.
…e, r=bjorn3 Reject linked dylib EII default overrides This PR rejects explicit EII implementations that would override a default implementation already selected through a linked dylib. The check is intentionally split: - rustc_passes keeps the early, format-independent checks for missing impls and duplicate explicit impls. - rustc_codegen_ssa checks the default-vs-explicit conflict during linking, using the dependency formats selected for the final artifact. Fixes rust-lang#156320.
…e, r=bjorn3 Reject linked dylib EII default overrides This PR rejects explicit EII implementations that would override a default implementation already selected through a linked dylib. The check is intentionally split: - rustc_passes keeps the early, format-independent checks for missing impls and duplicate explicit impls. - rustc_codegen_ssa checks the default-vs-explicit conflict during linking, using the dependency formats selected for the final artifact. Fixes rust-lang#156320.
…e, r=bjorn3 Reject linked dylib EII default overrides This PR rejects explicit EII implementations that would override a default implementation already selected through a linked dylib. The check is intentionally split: - rustc_passes keeps the early, format-independent checks for missing impls and duplicate explicit impls. - rustc_codegen_ssa checks the default-vs-explicit conflict during linking, using the dependency formats selected for the final artifact. Fixes rust-lang#156320.
…uwer Rollup of 25 pull requests Successful merges: - #158871 (add relnotes for 1.97.0) - #158968 (stdarch subtree update) - #154445 (rustdoc: Represent `--output-format=json` coverage and ir differently) - #156370 (Reject linked dylib EII default overrides) - #157153 (allow `Allocator`s to be used as `#[global_allocator]`s) - #158495 (Rename HAS_CT_PROJECTION to HAS_CONST_ALIAS) - #158617 (allow mGCA const arguments to fall back to anon consts) - #158645 (Fix splat ICEs and ban it in closures) - #158655 (Fix coroutine MIR saved local remapping) - #158666 (Carry the `b_offset` inside `BackendRepr::ScalarPair`) - #158912 (Introduce new bootstrap config section for PGO configuration) - #158920 (Update wasm-component-ld to 0.5.26) - #158926 (wrapping_sh* methods: clarify underspecified reference) - #158927 (add core test run with `-Zforce-intrinsic-fallback`) - #158932 (Do not build the compiler when invoking `x perf compare`) - #158937 (Emit the emscripten entry point as `__main_argc_argv`) - #151379 (Stabilize `VecDeque::retain_back` from `truncate_front`) - #156548 ( Library support for aarch64-unknown-linux-pauthtest target) - #158307 (CI job for parallel frontend ui tests) - #158347 (Improve generic parameters handling for #[diagnostic::on_const]) - #158722 (delegation: do not always inherit `ConstArgHasType` predicates) - #158741 (Simplify `Option::into_flat_iter` signature) - #158807 (Add regression test for CString::clone_into unwind safety) - #158862 (Fix the span for parameter suggestion ) - #158883 (tests: fix enum-match.rs to handle LLVM 23)
…e, r=bjorn3 Reject linked dylib EII default overrides This PR rejects explicit EII implementations that would override a default implementation already selected through a linked dylib. The check is intentionally split: - rustc_passes keeps the early, format-independent checks for missing impls and duplicate explicit impls. - rustc_codegen_ssa checks the default-vs-explicit conflict during linking, using the dependency formats selected for the final artifact. Fixes rust-lang#156320.
Rollup of 25 pull requests Successful merges: - #158871 (add relnotes for 1.97.0) - #158968 (stdarch subtree update) - #157690 (codegen_ssa: pack small const aggregates into immediate stores) - #158541 (Move `std::io::Write` to `core::io`) - #154445 (rustdoc: Represent `--output-format=json` coverage and ir differently) - #156370 (Reject linked dylib EII default overrides) - #157153 (allow `Allocator`s to be used as `#[global_allocator]`s) - #158495 (Rename HAS_CT_PROJECTION to HAS_CONST_ALIAS) - #158617 (allow mGCA const arguments to fall back to anon consts) - #158645 (Fix splat ICEs and ban it in closures) - #158655 (Fix coroutine MIR saved local remapping) - #158666 (Carry the `b_offset` inside `BackendRepr::ScalarPair`) - #158870 (std: merge the unix-like io::error modules into one file) - #158920 (Update wasm-component-ld to 0.5.26) - #158926 (wrapping_sh* methods: clarify underspecified reference) - #158927 (add core test run with `-Zforce-intrinsic-fallback`) - #158932 (Do not build the compiler when invoking `x perf compare`) - #158937 (Emit the emscripten entry point as `__main_argc_argv`) - #151379 (Stabilize `VecDeque::retain_back` from `truncate_front`) - #156144 (Better docs for PartialEq (includes macro rename)) - #156548 ( Library support for aarch64-unknown-linux-pauthtest target) - #158307 (CI job for parallel frontend ui tests) - #158347 (Improve generic parameters handling for #[diagnostic::on_const]) - #158722 (delegation: do not always inherit `ConstArgHasType` predicates) - #158741 (Simplify `Option::into_flat_iter` signature)
View all comments
This PR rejects explicit EII implementations that would override a default implementation already selected through a linked dylib.
The check is intentionally split:
Fixes #156320.